.max-line(@lines) {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    line-clamp: @lines;
    -webkit-line-clamp: @lines;
    text-overflow: ellipsis;
    overflow: hidden;
}

.swiper {
    width: 100%;
    height: auto;
    aspect-ratio: 375 / 442;
    overflow: visible;
    overflow-x: clip;
}

.swiper-slide {
    width: 80% !important;

    &.swiper-slide-active {
        transform: translateY(-10px);
    }
}


.wraper {
    box-sizing: border-box;
}

.btn {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    border: 1px solid var(--design-theme-color);
    color: var(--design-theme-color);
    background-color: #fff;
    transition: .3s;
    cursor: pointer;
    margin-left: auto;
    margin-right: auto;

    &:hover {
        color: #fff;
        background-color: var(--design-theme-color);
    }
}

.wraper.pc {
    box-sizing: border-box;

    .main {
        padding-top: 60px;
        padding-bottom: 80px;
    }

    .cards {
        max-width: 1180px;
        margin: 0 auto;
        display: flex;
        flex-flow: row wrap;
        gap: 20px;
    }

    .card {
        box-shadow: 0 0 24px #00000014;
        display: flex;
        flex-direction: row;
        height: 267px;
        cursor: pointer;
        width: 580px;
        transform: translate3d(0, 0, 0);
        transition: .3s;
        word-break: break-all;
        background: #FFF;

        &:only-child {
            width: auto;
        }

        &:hover {
            transform: translate3d(0, -10px, 0);
            box-shadow: 0 0 32px #0000001f;

            .name {
                color: var(--design-theme-color);
                font-weight: 700;
            }
        }
    }

    .picture {
        width: 200px;
        height: 267px;
        object-fit: cover;
        flex: none;
    }

    .info {
        padding: 36px 30px 36px 32px;
        flex: 1;
    }

    .name {
        color: var(--render-text-color-main);
        font-size: 24px;
        font-weight: 500;
        line-height: 32px;
    }

    .desc {
        --max-lines: 4;

        margin-top: 14px;
        color: var(--render-text-color-second);
        text-align: justify;
        font-size: 16px;
        font-weight: 400;
        line-height: 24px;
        height: calc(24px * var(--max-lines));
        overflow: hidden;
        .max-line(var(--max-lines))
    }

    .target {
        display: block;
        position: relative;
        padding: 8px 0;
        margin-top: 20px;
        border-bottom: 1px solid #0000000d;

        .target-text {
            color: var(--design-theme-color);
            font-size: 16px;
            line-height: 24px;
        }

        .target-cursor {
            position: absolute;
            bottom: 0;
            right: 0;
            width: 48px;
            height: 31px;
            display: flex;
            justify-content: center;
            border-bottom: 1px solid var(--design-theme-color);
        }

        .target-icon {
            font-size: 20px;
            color: var(--design-theme-color);
        }
    }

    .btn {
        width: 180px;
        height: 48px;
        border-radius: 4px;
        font-size: 16px;
        margin-top: 60px;
    }
}

.wraper.mobile {
    box-sizing: border-box;

    .main {
        padding-top: 30px;
        padding-bottom: 40px;
    }

    .teacher {
        border-radius: 4px;
        background: #FFF;
        box-shadow: 0 0 12px 0 #00000014;
        padding: 20px 0;
        display: block;
        text-decoration: none;
    }

    .picture {
        display: block;
        width: 60%;
        height: auto;
        aspect-ratio: 180 / 240;
        object-fit: cover;
        border-radius: 4px;
        margin: 0 auto;
    }

    .info {
        padding: 12px 12px 0;
    }

    .name {
        color: var(--render-text-color-main);
        text-align: center;
        font-size: 20px;
        font-weight: 500;
        line-height: 32px;
    }

    .desc {
        --max-lines: 4;

        margin-top: 6px;
        color: var(--render-text-color-second);
        text-align: justify;
        font-size: 14px;
        font-weight: 400;
        line-height: 28px;
        height: calc(28px * var(--max-lines));
        overflow: hidden;
        .max-line(var(--max-lines))
    }
}
